Recent advances and price drops in additive manufacturing technology have made 3D printers more affordable than ever before. Although their wide-scale adoption is expanding day by day, a key challenge in 3D printing technology is that the 3D model to be printed must fit into the printing volume of the device, which limits the use of additive manufacturing to smaller crowds than its potential.
Existing commercial tools focus on partitioning of large 3D models into smaller pieces with the user's assistance. However, this strategy is not only tedious but also challenging if there are several pieces and engineering constraints. Recent advances in the field of computer graphics aim to preserve visual and physical properties of the model via optimization of different objective functions. For example, some researchers have studied preservation of visual properties during partitioning and the deformation behavior of the underlying model under different load conditions to reach an optimum partitioning. However, partitioning of large 3D models into small pieces is casted as a covering problem in these studies. Even if there is a feasible covering solution, it is difficult to calculate objective functions on non-planar partitions.
To address the aforementioned challenges, some conventional partitioning tools follow a top-down search for a binary tree representing the assembly sequence in which two components are merged at every step. These tools use algorithms based on binary space partitioning trees where arbitrary partitions are given up to gain on efficiency. Although these tools offer an efficient way of managing the partitioned data, conventional binary space partitioning techniques only consider user-provided objective function such as structural integrity and ignore additive manufacturing challenges such as thermal deformations, structural deformations, and support generation. Accordingly, it is desired to extend conventional partitioning schemes to provide a more robust and extensive set of considerations regarding partitioning.